<?php

namespace App\Http\Controllers\Mobile;


use App\Logics\MiniPayLogicV3;
use App\Logics\OrderLogic;

class OrderController extends BaseController
{
    // 一般操作
    public function initialize()
    {
        parent::initialize();
    }


    // 支付测试
    public function test()
    {
        $opt = $this->optLogic();
        $opt->setField('money', 0.01);

        $logic = new MiniPayLogicV3();
        $res   = $logic->h5Pay(1);
        print_r($res);
        die;
    }



    // 我的订单
    //   我报名的活动
    public function lists()
    {
        // 参数
        $option = $this->optLogic();
        $option->setField('order_uid', $this->myUid);

        // status=0 未报名
        // status=1 已经报名
        // is_refund=1 退款
        // is_over=1 已经结束

        $logic = new OrderLogic();
        $res   = $logic->getOrder();
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success($res, '操作成功！');
    }

    // 我的订单
    //   我报名的活动
    public function show()
    {

        // status=0 未报名
        // status=1 已经报名
        // is_refund=1 退款
        // is_over=1 已经结束

        $logic = new OrderLogic();
        $res   = $logic->onShow();
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success($res, '操作成功！');
    }


    // 下单操作：
    //   学校可以添加多个学员
    //   机构和非认证用户只能自己报名
    public function makeOrder()
    {
        $logic = new OrderLogic();
        $res   = $logic->makeOrder($this->myUid);
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success($res, '下单操作成功！');
    }


    // 下单操作 + 进行支付页面
    //   学校可以添加多个学员
    //   机构和非认证用户只能自己报名
    public function makeOrderPay()
    {
        $logic = new MiniPayLogicV3();
        $res   = $logic->eventAndPay($this->myUid);
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success($res, '活动报名成功，请支付！');
    }

    // 退款操作
    //   分销收益
    //   余额变化
    public function onRefund()
    {
        $logic = new OrderLogic();
        $res   = $logic->onRefund($this->myUid);
        if($res === false){
            return $this->error($logic->getError());
        }

        return $this->success([], '退款申请成功，请对等待审核！');
    }


}


